package com.ruicar.afs.cloud.manage.common.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.modules.contract.enums.BusinessSourceEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.DataSourceEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.ProcessStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import lombok.experimental.Accessors;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;

/**
 * @author: Lee
 * @date 2020-05-30 09:21:16 
 * @description 合同还款日变更申请表
 */
@Data
@Accessors(chain = true)
@TableName(value ="manage_repayment_date_change", autoResultMap = true)
public class ManageRepaymentDateChange extends BaseEntity<ManageRepaymentDateChange> {
	/** 渠道id */
	@ApiModelProperty("渠道id")
	@JsonSerialize(using = ToStringSerializer.class)
	@JSONField(serializeUsing = com.alibaba.fastjson.serializer.ToStringSerializer.class)
	private Long channelId;
	/** 合同号码 */
	@ApiModelProperty("合同号码")
	private String contractNo;
	/** 案件编号 */
	@ApiModelProperty("案件编号")
	private String caseNo;
	/** 数据来源 枚举值：CMS、多品系统 */
	@ApiModelProperty("数据来源 枚举值：CMS、多品系统")
	private DataSourceEnum dataSource;
	/** 原到期日 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("原到期日")
	private Date oldDueDate;
	/** 新到期日 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("新到期日")
	private Date newDueDate;
	/** 额外利息 */
	@ApiModelProperty("额外利息")
	private BigDecimal extraInterest;
	/** 手续费 */
	@ApiModelProperty("手续费")
	private BigDecimal poundage;
	/** 费用总计 */
	@ApiModelProperty("费用总计")
	private BigDecimal sumCost;
	/** 备注 */
	@ApiModelProperty("备注")
	private String remarks;
	/** 申请时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("申请时间")
	private Date applyDate;
	/** 结束时间 案件审批完成时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("结束时间 案件审批完成时间")
	private Date endDate;
	/** 处理状态 枚举值 */
	@ApiModelProperty("处理状态 枚举值")
	private ProcessStatusEnum processStatus;
	/** 申请编号 */
	@ApiModelProperty("申请编号")
	private String applyNo;
	/** 客户姓名 */
	@ApiModelProperty("客户姓名")
	private String custName;
	/** 证件号码 */
	@ApiModelProperty("证件号码")
	private String certNo;
	/** 业务来源 */
	@ApiModelProperty("业务来源")
	private BusinessSourceEnum businessSource;

	/** 短信验证码 */
	@TableField(exist = false)
	@ApiModelProperty("短信验证码")
	private String verifyCode;

	/** 手机号 */
	@TableField(exist = false)
	@ApiModelProperty("手机号")
	private String Phone;

	/** 实际利率 */
	@TableField(exist = false)
	@ApiModelProperty("实际利率")
	private BigDecimal realInterestRate;
	/** 未偿本金 */
	@TableField(exist = false)
	@ApiModelProperty("未偿本金")
	private BigDecimal remainPrinciple;
}
